package com.yonyou.brigade.third_parties.fanscar.service;

import com.alibaba.fastjson.JSONArray;
import com.yonyou.brigade.third_parties.fanscar.model.FanscarConfig;
import com.yonyou.brigade.third_parties.fanscar.model.FanscarJobGrade;
import com.yonyou.brigade.third_parties.fanscar.model.FanscarUser;

import java.util.List;
import java.util.Map;

/**
 * @author: kangfw5
 * @since : 2019-03-01
 */
public interface IFanscarDocService {

    /**
     * 同步部门信息
     *
     * @param departmentList 部门列表
     * @param fanscarConfig  认证配置信息
     * @since : 2019-03-01
     */
    JSONArray createDepartment(List<Map<String, String>> departmentList, FanscarConfig fanscarConfig);

    /**
     * 更新部门信息
     *
     * @param departmentList 部门列表
     * @param fanscarConfig  认证配置信息
     * @since : 2019-03-01
     */
    JSONArray updateDepartment(List<Map<String, String>> departmentList, FanscarConfig fanscarConfig);

    /**
     * 创建职级信息
     *
     * @param jobGradeList  职级列表
     * @param fanscarConfig 认证配置信息
     * @since : 2019-03-01
     */
    JSONArray createJobGrade(List<FanscarJobGrade> jobGradeList, FanscarConfig fanscarConfig);

    /**
     * 更新职级信息
     *
     * @param jobGradeList  职级列表
     * @param fanscarConfig 认证配置信息
     * @since : 2019-03-01
     */
    JSONArray updateJobGrade(List<FanscarJobGrade> jobGradeList, FanscarConfig fanscarConfig);

    /**
     * 批量创建员工信息
     *
     * @param employeeList  员工信息列表
     * @param fanscarConfig 认证配置信息
     * @since : 2019-03-05
     */
    JSONArray createEmployee(List<FanscarUser> employeeList, FanscarConfig fanscarConfig);

    /**
     * 批量更新员工信息
     *
     * @param employeeList  员工信息列表
     * @param fanscarConfig 认证配置信息
     * @since : 2019-03-05
     */
    JSONArray updateEmployee(List<FanscarUser> employeeList, FanscarConfig fanscarConfig);

}
